A more-conservative workaround for Cygwin SIGCHLD issues.
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 24 Jun 2013 00:31:31 +0000 (17:31 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 24 Jun 2013 00:31:31 +0000 (17:31 -0700)
commitf57e342c71a76009aa03002c7478792dd3b8bc7a
treea80218a1231cfeb4d3ea300c3733602cdb12835a
parent0ca91b6686a7c9fc7271e4a28cd4c78b09965021
A more-conservative workaround for Cygwin SIGCHLD issues.

* callproc.c (Fcall_process):
* process.c (create_process):
Make sure SIGCHLD is caught before we fork,
since Emacs startup no arranges to catch SIGCHLD.
* process.c (lib_child_handler): Initialize to null, not to
dummy_handler.
(catch_child_signal): Allow self to be called lazily.
Do nothing if it's already been called.
Assume caller has blocked SIGCHLD (all callers do now).
* emacs.c (main): Do not catch SIGCHLD here; defer it until
just before it's really needed.
* nsterm.m (ns_term_init): No need to re-catch SIGCHLD here,
since it hasn't been caught yet.
src/ChangeLog
src/callproc.c
src/emacs.c
src/nsterm.m
src/process.c